package org.hsw.infrastructure.dao;

import org.apache.ibatis.annotations.Mapper;
import org.hsw.infrastructure.dao.po.StrategyRule;

import java.util.List;
@Mapper
public interface IStrategyRuleDao {
    /**
     * 根据自增 ID 查询抽奖规则信息
     * @param id 自增 ID
     * @return 抽奖规则信息
     */
    StrategyRule getStrategyRuleById(Long id);

    /**
     * 根据抽奖策略 ID 查询抽奖规则信息列表
     * @param strategyId 抽奖策略 ID
     * @return 抽奖规则信息列表
     */
    List<StrategyRule> getStrategyRulesByStrategyId(Long strategyId);

    /**
     * 查询所有抽奖规则信息
     * @return 抽奖规则信息列表
     */
    List<StrategyRule> getAllStrategyRules();

    /**
     * 插入抽奖规则信息
     * @param strategyRule 抽奖规则信息
     * @return 插入成功返回 1，失败返回 0
     */
    int insertStrategyRule(StrategyRule strategyRule);

    /**
     * 更新抽奖规则信息
     * @param strategyRule 抽奖规则信息
     * @return 更新成功返回 1，失败返回 0
     */
    int updateStrategyRule(StrategyRule strategyRule);

    /**
     * 根据自增 ID 删除抽奖规则信息
     * @param id 自增 ID
     * @return 删除成功返回 1，失败返回 0
     */
    int deleteStrategyRuleById(Long id);

    StrategyRule queryStrategyRule(StrategyRule strategyRuleReq);

    String queryStrategyRuleValue(StrategyRule strategyRuleReq);
}
